#include "Facade.h"


void SubSystemOne::MethodOne()
{
	cout << "SubSytemOne:MethodOne"<<endl;
}

void SubSystemTwo::MethodTwo()
{
	cout << "SubSystemTwo::MethodTwo"<<endl;
}

void SubSystemThree::MethodThree()
{
	cout << "SubSystemThree::MethodThree"<<endl;
}

void SubSystemFour::MethodFour()
{
	cout << "SubSystemFour::MethodFour"<<endl;
}

void Facade::MethodA()
{
	cout << "Facade::MethodA" << endl;
	_one.MethodOne();
	_two.MethodTwo();
	_four.MethodFour();
}

void Facade::MethodB()
{
	cout << "Facade::MethodB" << endl;
	_two.MethodTwo();
	_four.MethodFour();
}

int main()
{
	Facade *f = new Facade;

	f->MethodA();

	f->MethodB();

	delete f;
}
